Breaking changes

2025 March

2025-03-14 in AfterModalOk in actions we no longer provide vModalResult_selfVM variable.

It was an old mistake that that in WPF the handover of vDirties to instigating view did not happen correctly - so vModalResult_selfVM.save was sometimes used.

The mistake/bug is removed and hand-over of dirties is now the same in Turnkey and WPF - but vModalResult_selfVM.save would then be moot - and to signal this change the vModalResult_selfVM variable was removed altogether from AfterModalOk.

2025 February

2025-02-26 Checksum did not correctly include name of the Association(2 AssociationEnds) and this stopped codegen from discovering the change. Fixed the issue - but MDrivenServer must be updated as well to be able to recognize the new checksum

We did not sort on state-name when compiling checksum. We got reports on checksum diffs from client and server where the only diff was order of states. We now sort on State name to avoid this - this requires new client and server from 4/2 2025.

...and also Triggers was not correctly sorted; fixed 6/2 2025.

(the whole thing is bit of a mystery - it seems like server or designer all of a sudden started to mix up the stored order - so we must explicitly sort on name to make sure designer and server agree on checksum)

2025 January

On the package there are two optional additional checks that are now default on:

Documentation Breaking changes 1738336442262.png


The "Stricter require root rules" forces you to follow the Requires-Root setting on the viewmodel as in it must be checked in order to use "self" on root level.

The Stricter "vCurrent_ recursion rules" catches the strange use of vCurrent_ for nestings further down in the tree from the vCurrent_ definition; give that a think and you will see that its logically impossible; the workaround is probably to use an expression based on "self".

2021 February, Issue With ViewModelActions

It was possible to have self in ViewModelContextActions - but self was undefined and you were supposed to use vCurrent_ (class actions have self but ViewModelActions do not).

Sometimes it worked anyway, but it often led to strange errors and views that did not show.

After this change, you may get a lot of Model errors.

The fix is to replace "self" with "vCurrent_<TheViewOwningTheAction>".

For simple cases, doing this in the Designer debugger may help:

2021-02-02 13h54 47.png

MDriven Framework: We Now Require Legal OCL in All oclColumns

Since 2018 and with the support for VS2019, we made changes related to efficient load that make the Framework check all oclColumns.

Prior to this point, oclColumns could be ignored if no one ever used them, but now, we assume that they are all used and thus valid. This is in line with our shift from placed handles to compound declarative ViewModels that are statically checked along with the model.

We will now throw an exception if an illegal OCL is found in the derivation phase.

If you would rather log this with a trace, you can do so by setting the new variable:

/// <summary>
/// Set this property to false (default true) if you only want trace logging of failing derivations
/// </summary>
AbstractDeriver.ThrowExceptionOnFailedDerivation=false

MDriven Framework: VariableHandle Changed Default on AddDefaultNestings and AddDefaultProperties From True to False

Earlier, we had AddDefaultNestings and AddDefaultProperties=true as default and this introduced an extra unnecessary load. If you want to use "self", a better option is to set AddSelfColumn on the variableHandle.

This page was edited 12 days ago on 03/12/2025. What links here